- Опубликовано
Типы или интерфейсы в TypeScript: выбирают фронтендеры
- Автор
- Имя
- Счастливый тимлид | ♥ Frontend
- Telegram
- Счастливый тимлид | ♥ Frontend2204 подписчика692 поста
Я работаю руководителем фронтенда и временами нанимаю фронтендеров. Последний найм-марафон продлился чуть более месяца и я поговорил примерно с десятком кандидатов.
Во время этих всех собеседований я спрашивал у кандидатов в том числе и такой вопрос:
«Когда ты используешь типы, а когда интерфейсы?».
Вроде бы простой выбор с которым каждый день десятки раз сталкивается разработчик. Но ответы заставили меня задуматься и пересмотреть свое отношение к этому вопросу.
Я обнаружил, что по ответу на этот вопрос можно с высокой вероятностью понять опыт кандидата. Если кандадат говорит, что для типизации пропсов в реактике он использует интерфейсы, то в большинстве случаев он начал использовать тайпскрипт еще когда реакт был на классах. Фронтендеры же новой школы поголовно всё типизируют типами. И с этим, в принципе, нет никаких проблем, кроме одной.
Ни те, ни другие не могут однозначно сказать на основе чего делают выбор. Поголовно это чисто интуитивное решение: из серии «прокатит — оставляем, не прокатило — переделываем». И их можно понять, эта схема работает довольно хорошо, зачем что-то менять. Но что я хочу услышать от кандидата?
Я не требую изложить мне всю теорию. Мне достаточно услышать хотя бы базовые три пункта:
— во многих случаях они взаимозаменяемы
— в библиотеках лучше экспортить интерфейсы, так как их можно расширить
— в тип можно записать любой существующий тип и не только.
Этого более чем достаточно, чтобы ответ меня устроил. Но я задумался, а знаю ли я сам ответ на этот вопрос на 100%?
Я полез в документацию и пропал. Мне кажется я раскопал столько всего странного и необычного, с чем не сталкивается типичный разработчик. И всё это только вокруг вопроса про базовые понятия типов и интерфейсов. Я сел записывать видео, начинал несколько раз, но каждый раз я понимал, что видео будет не полным, потому что вот есть еще такое и такое. А еще вот тут отличается. А еще и такую штуку можно делать. О Фи Ге Ть!
Решил написать сначала текстом — сценарий типа, потому что в голове всё не умещается, да и примеров нужна куча. Сел писать, но ни за вечер, ни за два не осилил. Информации много, пишется тяжело и медленно. Еще и ошибиться боюсь.
В общем, решил, что буду выпускать на канале по частям. Надеюсь что вы не только почитаете, но и подскажете где я не прав, какие нюансы упустил, а в конце глядишь сложится нормальная статья для какого-нибудь хабра, а там и видео по ней получится записать.
Скоро...
Закрепленные
Из подборки #frontend
- Опубликовано
Как сделать страницу с халявой и промокодами
- Опубликовано
Встречайте геймификацию в комментах
- Опубликовано
Когда проще завайбкодить чем нагуглить
- Опубликовано
Телеграмовский сосун (или какун, как правильно?)
- Опубликовано
Итоги
- Опубликовано
Поделитесь вашими любимыми мемами уходящего года
Свежие посты
- Опубликовано
Как сделать страницу с халявой и промокодами
- Опубликовано
Встречайте геймификацию в комментах
- Опубликовано
Когда проще завайбкодить чем нагуглить
- Опубликовано
весёлая дискуссия в канале Деплой о резюме
- Опубликовано
Жизнь по скраму
- Опубликовано
не забудь завести будильник
- Опубликовано
Каникулы в регионе без интернета
- Опубликовано


